home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
zugabe
/
va45
/
visual45
/
v_aext
/
lib_stik.41
< prev
next >
Wrap
Text File
|
1998-02-10
|
13KB
|
483 lines
****************************************************************************************
STIK_PRG_SEARCH_COOKIE:
; Entrée:
; Sortie : STIK_TPL_POINTER <>0 si Stik est là i.e TSR+ACC
move.l #'STiK',GWVA_APP_OBJ_SEARCH_IN_OUT
SUPEXEC GWVA_APP_OBJ_SEARCH_ONE_COOKIE
move.l GWVA_APP_OBJ_SEARCH_IN_OUT,a0
clr.l STIK_TPL_POINTER
cmp.l #0,a0
beq.s .no_stik
move.l (a0),a1
cmp.l #"STiK",(a1)
bne.s .no_magic
cmp.l #"magi",4(a1)
bne.s .no_magic
cmp.w #"c"*256,8(a1)
bne.s .no_magic
tst.l STIK_DRV_LIST_get_dftab(a1)
beq.s .no_dftab_routine
save.l a1
pea STIK_TRANSPORT_DRIVER
jsr ([STIK_DRV_LIST_get_dftab,a1])
lea 4(sp),sp
load.l a1
tst.l d0
beq.s .no_transport
move.l d0,STIK_TPL_POINTER ; transport structure
move.l STIK_DRV_LIST_get_dftab(a1),STIK_GET_DFTAB
move.l STIK_DRV_LIST_ETM_exec(a1),STIK_ETM_EXEC
move.l STIK_DRV_LIST_cfg(a1),STIK_STIK_CONFIG ; stik config struct
.no_dftab_routine:
.no_transport:
.no_magic:
.no_stik: rts
****************************************************************************************
STIK_PRG_KRmalloc:
; Entrée : d0.l : taille
; Sortie : d0.l : pointeur
move.l d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_KRmalloc,a0])
lea 4(sp),sp
rts
****************************************************************************************
STIK_PRG_KRfree:
; Entrée : a0.l : pointeur
; Sortie : d0.w : code erreur ?
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_KRfree,a0])
lea 4(sp),sp
rts
****************************************************************************************
STIK_PRG_KRgetfree:
; Entrée : d0.w : flag
; Sortie : d0.l : taille
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_KRgetfree,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_KRrealloc:
; Entrée : a0.l : pointeur bloc mémoire
; d0.l : nouvelle taille
; Sortie : d0.l : pointeur
move.l d0,-(sp)
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_KRrealloc,a0])
lea 4+4(sp),sp
rts
****************************************************************************************
STIK_PRG_get_err_text:
; Entrée : d0.w : code d'erreur
; Sortie : d0.l : pointeur
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_get_err_text,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_get_vstr:
; Entrée : a0.l : pointeur sur le nom d'une variable stik
; Sortie : d0.l : pointeur
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_getvstr,a0])
lea 4(sp),sp
rts
****************************************************************************************
STIK_PRG_carrier_detect:
; Entrée :
; Sortie : d0.w : state
move.l STIK_TPL_POINTER,a0
jmp ([STIK_TPL_carrier_detect,a0])
****************************************************************************************
STIK_PRG_TCP_open:
; Entrée : d0.l : remote host address
; d1.w : remote port
; d2.w : type of service (cf. TCP/IP Illustrated Volume 1 p.35)
; d3.w : size of output buff
; Sortie : d0.w : handle or error code
move.w d3,-(sp)
move.w d2,-(sp)
move.w d1,-(sp)
move.l d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_TCP_open,a0])
lea 2+2+2+4(sp),sp
rts
****************************************************************************************
STIK_PRG_TCP_close:
; Entrée : d0.w : handle
; d1.w : timeout
; Sortie : d0.w : error code
move.w d1,-(sp)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_TCP_close,a0])
lea 2+2(sp),sp
rts
****************************************************************************************
STIK_PRG_TCP_send:
; Entrée : d0.w : handle
; a0.l : pointeur buffer
; d1.w : taille (<taille bufer reservé au début en output)
; Sortie : d0.w : error code
move.w d1,-(sp)
pea (a0)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_TCP_send,a0])
lea 2+4+2(sp),sp
rts
****************************************************************************************
STIK_PRG_TCP_wait_state:
; Entrée : d0.w : handle
; d1.w : state
; d2.w : timeout
; Sortie : d0.w : error code
move.w d2,-(sp)
move.w d1,-(sp)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_TCP_wait_state,a0])
lea 2+2+2(sp),sp
rts
****************************************************************************************
STIK_PRG_TCP_ack_wait:
; Entrée : d0.w : handle
; d1.w : timeout
; Sortie : d0.w : error code
move.w d1,-(sp)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_TCP_ack_wait,a0])
lea 2+2(sp),sp
rts
****************************************************************************************
STIK_PRG_UDP_open:
; Entrée : d0.l : remote host address
; d1.w : remote port
; Sortie : d0.w : handle or error code
move.w d1,-(sp)
move.l d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_UDP_open,a0])
lea 2+4(sp),sp
rts
****************************************************************************************
STIK_PRG_UDP_close:
; Entrée : d0.w : handle
; Sortie : d0.w : error code
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_UDP_close,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_UDP_send:
; Entrée : d0.w : handle
; a0.l : pointeur buffer
; d1.w : taille (<taille bufer reservé au début en output)
; Sortie : d0.w : error code
move.w d1,-(sp)
pea (a0)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_UDP_send,a0])
lea 2+4+2(sp),sp
rts
****************************************************************************************
STIK_PRG_CNkick:
; Entrée : d0.w : handle
; Sortie : d0.w : error code
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_CNkick,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_CNbyte_count:
; Entrée : d0.w : handle
; Sortie : d0.w : nombre octets en attente
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_CNbyte_count,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_CNget_char:
; Entrée : d0.w : handle
; Sortie : d0.w : caractère suivant
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_CNget_char,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_CNget_NDB:
; Entrée : d0.w : handle
; Sortie : d0.l : pointeur NDB
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_CNget_NDB,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_CNget_block:
; Entrée : d0.w : handle
; a0.l : pointeur buffer
; d1.w : nombre d'octets à recevoir
; Sortie : d0.w : code d'erreur
move.w d1,-(sp)
pea (a0)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_CNget_block,a0])
lea 2+4+2(sp),sp
rts
****************************************************************************************
STIK_PRG_TCP_housekeep:
; Entrée :
; Sortie :
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_housekeep,a0])
rts
****************************************************************************************
STIK_PRG_resolve:
; Entrée : a0.l : pointer to domain name
; a1.l : pointer for returned resolved domain name
; a2.w : pointer to array of returned IP adresses (.L)
; d0.w : size of array
; Sortie : d0.w : error code
move.w d0,-(sp)
pea (a2)
pea (a1)
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_resolve,a0])
lea 4+4+4+2(sp),sp
rts
****************************************************************************************
STIK_PRG_ser_disable:
; Entrée :
; Sortie :
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_ser_disable,a0])
rts
****************************************************************************************
STIK_PRG_ser_enable:
; Entrée :
; Sortie :
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_ser_enable,a0])
rts
****************************************************************************************
STIK_PRG_set_flag:
; Entrée : d0.w : flag
; Sortie : d0.w : code d'erreur
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_set_flag,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_clear_flag:
; Entrée : d0.w : flag
; Sortie : d0.w : code d'erreur
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_clear_flag,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_CNgetinfo:
; Entrée : d0.w : handle
; Sortie : d0.l : pointeur CIB
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_CNgetinfo,a0])
lea 2(sp),sp
rts
****************************************************************************************
STIK_PRG_on_port:
; Entrée : a0.l : pointeur sur un nom de port dans DEV_LIST
; Sortie : d0.w : code d'erreur
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_on_port,a0])
lea 4(sp),sp
rts
****************************************************************************************
STIK_PRG_off_port:
; Entrée : a0.l : pointeur sur un nom de port dans DEV_LIST
; Sortie : d0.w : code d'erreur
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_off_port,a0])
lea 4(sp),sp
rts
****************************************************************************************
STIK_PRG_setvstr:
; Entrée : a0.l : config variable name
; a1.l : value
; Sortie : d0.w : code d'erreur
pea (a1)
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_setvstr,a0])
lea 4+4(sp),sp
rts
****************************************************************************************
STIK_PRG_query_port:
; Entrée : a0.l : pointeur sur un nom de port dans DEV_LIST
; Sortie : d0.w : code d'erreur
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_query_port,a0])
lea 4(sp),sp
rts
****************************************************************************************
ifnd LIB_STING
****************************************************************************************
STIK_PRG_g_resolve:
; Entrée : a0.l : pointer to domain name
; a1.l : pointer for returned resolved domain name
; a2.w : pointer to array of returned IP adresses (.L)
; d0.w : size of array
; Sortie : d0.w : error code
move.w d0,-(sp)
pea (a2)
pea (a1)
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_g_resolve,a0])
lea 4+4+4+2(sp),sp
rts
****************************************************************************************
STIK_PRG_g_TCP_wait_state:
; Entrée : d0.w : handle
; d1.w : state
; d2.w : timeout
; Sortie : d0.w : error code
move.w d2,-(sp)
move.w d1,-(sp)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STIK_TPL_g_TCP_wait_state,a0])
lea 2+2+2(sp),sp
rts
****************************************************************************************
else
****************************************************************************************
STING_PRG_CNgets:
; Entrée : a0.l : pointer to buffer
; d0.w : cn
; d1.w : length
; d2.w : delimiter
; Sortie : d0.w : error code
move.w d2,-(sp)
move.w d1,-(sp)
pea (a0)
move.w d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STING_TPL_CNgets,a0])
lea 2+4+2+2(sp),sp
rts
****************************************************************************************
STING_PRG_ICMP_send:
; Entrée : a0.l : pointer to data
; d0.l : destination host
; d1.b : type
; d2.b : code
; d3.w : length
; Sortie : d0.w : error code
move.w d3,-(sp)
pea (a0)
move.w d2,-(sp)
move.w d1,-(sp)
move.l d0,-(sp)
move.l STIK_TPL_POINTER,a0
jsr ([STING_TPL_ICMP_send,a0])
lea 4+2+2+4+2(sp),sp
rts
****************************************************************************************
STING_PRG_ICMP_handler:
; Entrée : a0.l : pointer to routine
; d0.w : install code
; Sortie : d0.w : error code
move.w d0,-(sp)
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STING_TPL_ICMP_handler,a0])
lea 4+2(sp),sp
rts
****************************************************************************************
STING_PRG_ICMP_discard:
; Entrée : a0.l : pointer to ICPM datagram
; Sortie : d0.w : error code
pea (a0)
move.l STIK_TPL_POINTER,a0
jsr ([STING_TPL_ICMP_discard,a0])
lea 4(sp),sp
rts
****************************************************************************************
endc ; ifnd LIB_STING
****************************************************************************************
DATA
STIK_TRANSPORT_DRIVER: dc.b 'TRANSPORT_TCPIP',0
even
TEXT